struct pdb *opdb;
struct pdb_record *opdb_rec;
+static char *dbname = NULL;
+
+static
+arglist_t cetus_args[] = {
+ {"dbname", &dbname, "Database name"},
+ {0, 0, 0}
+};
+
static void
rd_init(const char *fname, const char *args)
{
rd_deinit(void)
{
fclose(file_in);
+ if ( dbname ) {
+ xfree(dbname);
+ dbname = NULL;
+ }
}
static void
wr_deinit(void)
{
fclose(file_out);
+ if ( dbname ) {
+ xfree(dbname);
+ dbname = NULL;
+ }
}
static void
fatal (MYNAME ": new_pdb failed\n");
}
- strncpy(opdb->name, out_fname, PDB_DBNAMELEN);
+ if ( dbname ) {
+ strncpy( opdb->name, dbname, PDB_DBNAMELEN );
+ }
+ else {
+ strncpy(opdb->name, out_fname, PDB_DBNAMELEN);
+ }
opdb->name[PDB_DBNAMELEN-1] = 0;
opdb->attributes = PDB_ATTR_BACKUP;
opdb->ctime = opdb->mtime = time(NULL) + 2082844800U;
wr_deinit,
data_read,
data_write,
+ cetus_args
};
static const char *out_fname;
struct pdb *opdb;
struct pdb_record *opdb_rec;
+static char *dbname = NULL;
+
+static
+arglist_t gpspilot_args[] = {
+ {"dbname", &dbname, "Database name"},
+ {0, 0, 0}
+};
static void
rd_init(const char *fname, const char *args)
rd_deinit(void)
{
fclose(file_in);
+ if ( dbname ) {
+ xfree(dbname);
+ dbname = NULL;
+ }
}
static void
wr_deinit(void)
{
fclose(file_out);
+ if ( dbname ) {
+ xfree(dbname);
+ dbname = NULL;
+ }
}
static void
fatal (MYNAME ": new_pdb failed\n");
}
- strncpy(opdb->name, out_fname, PDB_DBNAMELEN);
+ if ( dbname ) {
+ strncpy(opdb->name, dbname, PDB_DBNAMELEN);
+ }
+ else {
+ strncpy(opdb->name, out_fname, PDB_DBNAMELEN);
+ }
opdb->name[PDB_DBNAMELEN-1] = 0;
opdb->attributes = PDB_ATTR_BACKUP;
opdb->ctime = opdb->mtime = time(NULL) + 2082844800U;
wr_deinit,
data_read,
data_write,
+ gpspilot_args
};